package com.css.fxfzypg.modules.statistics.repository;

import com.css.fxfzypg.manage.building.repository.entity.BuildingEntity;
import com.css.fxfzypg.modules.statistics.vo.QueryParams;
import com.css.fxfzypg.modules.statistics.vo.ResultVo;

import java.util.List;


public interface StatisticsRepository {
    ResultVo  getDataByProvince(String provinceName);

    ResultVo getDataByCity(String provinceName, String cityName);

    ResultVo getDataByArea(String provinceName, String cityName, String areaName);

    int getAirport(QueryParams queryParams);

    int getReservoir(QueryParams queryParams);

    int getSchool(String schoolType,QueryParams queryParams);

    int getHospitalNum(String hospitalType,QueryParams queryParams);

    int getHospitalPower(String hospitalType,QueryParams queryParams);

    int getHospitalBedNum(String hospitalType,QueryParams queryParams);

    int getDisastersNum(String disastersType,QueryParams queryParams);

    int getRiskEnterpriseNum(String riskGrade,QueryParams queryParams);

    int getGasStationNum(String riskGrade,QueryParams queryParams);

    int getEmergencyshelterByType(String type,QueryParams queryParams);

    int getPeopleTotalNumber(QueryParams queryParams);

    int getBuildingNumByStructure(String structure,QueryParams queryParams);

    int getSamplingNum(QueryParams queryParams);

    int getDisasterRiskNum(String disasterType,QueryParams queryParams);

    int getHouseNum(String type,QueryParams queryParams);

    //List<ResultVo> getKilometreGridByGeomText(String geomText);

    ResultVo getDataByProvinceAndGeomText(String provinceName, String geomText);

    ResultVo getDataByCityAndGeomText(String provinceName, String cityName, String geomText);

    ResultVo getDataByAreaAndGeomText(String provinceName, String cityName, String areaName, String geomText);

    List<BuildingEntity> getBuildingByGeomText(QueryParams queryParams);

    List<ResultVo> getKilometreGridByGeomText(String geomText);

    List<ResultVo> getSlopeByGeomText(String geomText);

    List<ResultVo> getSlopeByDivision(QueryParams queryParams);

    String getGeomByProvince(String provinceName);

    String getGeomByCity(String provinceName, String cityName);

    String getGeomByArea(String provinceName, String cityName, String areaName);

    List<ResultVo> getSlopeAll();

    List<ResultVo> getKilometreGridByDivision(QueryParams queryParams);

    Integer countByCounty(String province, String city, String county);
    Integer countByCity(String province, String city);
    Integer countByProvince(String province);

    Integer countByProvinceAndYear(String provinceName, String taskYear);
}
